package reflect;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test3 {
    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {
        Class cls=Class.forName("reflect.Person");
        Constructor c=cls.getConstructor(String.class);
        Object obj=c.newInstance("小刘");
        Method[] methods=cls.getDeclaredMethods();
        for (Method method:methods){
            boolean mark=method.isAnnotationPresent(AutoRunMethod.class);
            if (mark){
                System.out.println("调用方法:"+method.getName()+"()");
                method.invoke(obj);
            }else {
                System.out.println(method.getName()+"()没有被标记");
            }
        }


    }
}
